#define _CRT_SECURE_NO_WARNINGS

#include <iostream>
using namespace std;

//string reverseStr(string s, int k)
//{
//    int p;
//    int begin = 0, end = k - 1;
//    int i = s.size() / (2 * k);
//    while (i--)
//    {
//        string str(s, begin, k);
//        reverse(str.begin(), str.end());
//        s.replace(begin, k, str);
//        begin += 2 * k;
//        end += 2 * k;
//    }
//    if ((p = s.size() % (2 * k)) <= k)
//    {
//        string str(s, begin);
//        reverse(str.begin(), str.end());
//        s.replace(begin, p, str);
//    }
//    else
//    {
//        string str(s, begin, k);
//        reverse(str.begin(), str.end());
//        s.replace(begin, k, str);
//    }
//    return s;
//}
//
//int main()
//{
//    string s("abcdefg");
//    cout << reverseStr(s, 2) << endl;
//    return 0;
//}

string addStrings(string num1, string num2)
{
    int end1 = num1.size() - 1;
    int end2 = num2.size() - 1;
    int pos = 0;
    string str;
    while (end1 >= 0 || end2 >= 0)
    {
        int val1 = end1 >= 0 ? num1[end1] - '0' : 0;
        int val2 = end2 >= 0 ? num2[end2] - '0' : 0;
        int ret = val1 + val2 + pos;
        pos = ret / 10;
        ret %= 10;
        str.insert(str.begin(), ret + '0');
        end1--;
        end2--;
    }
    if (pos == 1)
    {
        str.insert(str.begin(), '1');
    }
    return str;
}
string multiply(string num1, string num2)
{
    string s("0");
    int su = 0;
    int end1 = num1.size() - 1;

    while (end1 >= 0)
    {
        int end2 = num2.size() - 1;
        int pos = 0;
        string str = num2;
        while (end2 >= 0)
        {
            int val = (num1[end1] - '0') * (num2[end2] - '0') + pos;
            pos = val / 10;
            val %= 10;
            str[end2] = val + '0';
            end2--;
        }
        if (pos != 0)
        {
            str.insert(str.begin(), pos + '0');
        }
        str.insert(str.end(), -1 * (end1  + 1 - num1.size()), '0');
        s = addStrings(s, str);
        end1--;
    }
    return s;
}

int main()
{
    string num1("9");
    string num2("9");
    cout << multiply(num1, num2) << endl;
    return 0;
}